#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//////////////////////////////////////////////////////////////////////////////////

struct list{
	char user[10];
	char pass[10];
	int flag;
	};
struct list arr[100];
//////////////////////////////////////////////////////////////////////////////////

void make()
{
FILE *fp;
fp = fopen("database.txt", "r");
char total[10], tem[10];
char temuser[10], tempass[10];
int count = 0;
strcpy(tem,"m");
int in,new, key=0, aa=0;
int fl,a;
while(fscanf(fp, "%s %s", temuser, tempass)!=EOF)
{
fl = strlen( temuser);
fl = (fl -1 )*10 ;	
for(in=fl; in<fl+10; in++){
	if(arr[in].flag==0)
		{strcpy(arr[in].user, temuser);
		strcpy(arr[in].pass, tempass);
		arr[in].flag ++;
		break;}}
for(a=fl;a<fl+10;a++)
{	if(arr[a].flag==1)	new=1;}
if (new==1)
{for(a=0; a<100; a++){
				if(arr[a].flag==0)
					{strcpy(arr[a].user, temuser);
					strcpy(arr[a].pass, tempass);
					arr[a].flag++;

					break;}}


}

}


	fclose(fp);
}

//////////////////////////////////////////////////////////////////////////////////

main(){

int te;
for(te=0; te <= 99 ; te++)
	arr[te].flag=0;

make();
char use[10], pas[10];
int k=0, kk=0;
printf("\nWELCOME TO THE HASHING PROGRAM\n");


for(;;){
int kunal=0;
printf("username : ");
scanf("%s", use);
int tem, temp;
for(tem=0; tem<100; tem++){
kunal++;
if ((strcmp(use, arr[tem].user)) == 0)		
	{printf("password : ");
	scanf("%s", pas);
	if ((strcmp(pas, arr[tem].pass)) == 0)
		{printf("WELCOME!\n");
		break;} 
		printf("password : ");
	scanf("%s", pas);
	if ((strcmp(pas, arr[tem].pass)) == 0)
		{printf("WELCOME\n");
		break;} 
		printf("password : ");
	scanf("%s", pas);
	if ((strcmp(pas, arr[tem].pass)) == 0)
		{printf("WELCOME\n");
		break;} 
		exit(1);
if(tem==99) printf("\nINVALID USERNAME\n");	
}
		}
}	


}	
